1. Technical Field
This invention relates generally to the field of secure electronic messaging and in particular to checking the status of digital certificates.
2. Description of the State of the Art
Known secure messaging clients including, for example, e-mail software applications operating on desktop computer systems, maintain a data store, or at least a dedicated data storage area, for secure messaging information such as digital certificates. A digital certificate normally includes the public key of an entity as well as identity information that is bound to the public key with one or more digital signatures. In Secure Multipurpose Internet Mail Extensions (S/MIME) messaging for example, a public key is used to verify a digital signature on a received secure message and to encrypt a session key that was used to encrypt a message to be sent. In other secure messaging schemes, public keys may be used to encrypt data or messages. If a public key is not available at the messaging client when required for encryption or digital signature verification, then the digital certificate, or at least the public key, must be loaded onto the messaging client before these operations can be performed.
Typically, a digital certificate is checked against a Certificate Revocation List (CRL) to determine if the digital certificate has been revoked by its issuer. This check is typically performed when a digital certificate is first received and periodically thereafter, for example when a new CRL is received. However, CRLs tend to be relatively bulky, so that transfer of CRLs to messaging clients consume considerable communication resources, and storage of CRLs at a messaging client may consume significant memory space. CRL-based revocation status checks are also processor-intensive and time consuming. These effects can be particularly pronounced in messaging clients operating on wireless mobile communication devices, which operate within bandwidth-limited wireless communication networks and may have limited processing and memory resources. In addition, revocation status is updated in CRL-based systems only when a new CRL is distributed.
Another scheme for digital certificate revocation status checking involves querying remote systems which maintain digital certificate revocation status information. A difficulty with this scheme is that it requires a separate request-response exchange for each remote system to be queried. These exchanges may cause significant time delays and consume significant amounts of available communication bandwidth, particularly for secure messaging clients operating on wireless mobile communication devices.
Digital certificate validity checks may similarly be processor intensive and time consuming for messaging clients operating on constrained devices. Digital certificate validity checks may similarly be performed by remote systems and may be useful for such devices, but as described above, typical schemes are not particularly suitable when multiple remote systems are to be queried.